package models

// User 用户模型结构
type User struct {
	// Base 嵌入基础模型，包含通用字段
	Base
	// Identity 用户的唯一标识，使用varchar(36)类型存储
	Identity string `gorm:"column:identity;type:varchar(36);" json:"identity"`
	// Name 用户名，使用varchar(100)类型存储
	Name string `gorm:"column:name;type:varchar(100);" json:"name"`
	// Password 用户密码，使用varchar(32)类型存储（通常是加密后的密码）
	Password string `gorm:"column:password;type:varchar(32);" json:"password"`
	// Phone 用户手机号，使用varchar(20)类型存储
	Phone string `gorm:"column:phone;type:varchar(20);" json:"phone"`
	// Mail 用户邮箱，使用varchar(100)类型存储
	Mail             string `gorm:"column:mail;type:varchar(100);" json:"mail"`
	FinishProblemNum int64  `gorm:"column:finish_problem_num;type:int(11);" json:"finish_problem_num"` // 完成问题的个数
	SubmitNum        int64  `gorm:"column:submit_num;type:int(11);" json:"submit_num"`                 // 提交次数
	IsAdmin          int    `gorm:"column:is_admin" json:"is_admin"`                                   // 是否是管理员【-1-否, 1-是】
}

// TableName 指定模型对应的数据库表名
func (table *User) TableName() string {
	// 返回数据库表名
	return "user"
}
